/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package session;

import fonol.entidades.Beneficiarios;
import fonol.entidades.Candidatos;
import fonol.entidades.Delegados;
import fonol.entidades.Estados;
import fonol.entidades.EstatusCandidato;
import fonol.entidades.Gobiernos;
import fonol.entidades.Proyectos;
import fonol.entidades.TipoDefinido;
import fonol.entidades.TipoUsuario;
import fonol.entidades.Usuarios;
import java.math.BigDecimal;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

/**
 *
 * @author Fredfred2
 */
@Stateless
public class ProcesoBean implements ProcesoRemote {
    @PersistenceContext
    EntityManager em;
    // Add business logic below. (Right-click in editor and choose
    // "EJB Methods > Add Business Method" or "Web Service > Add Operation")
    
    public List<Candidatos> hazQuery(Estados estado){
        return (List<Candidatos>) em.createQuery("select c from Candidatos c");
    }
    public void proceso(){
        
        Usuarios u1=new Usuarios();
        u1.setIndefinido(TipoDefinido.DEFINIDO);
        u1.setLogin("gobierno1");
        u1.setPass("gobierno1");
        u1.setTipo(TipoUsuario.GOBIERNO);
        em.persist(u1);
        
        Gobiernos gobierno=new Gobiernos();
        gobierno.setIdusuario(u1);
        gobierno.setPib(new BigDecimal("1000000"));
        em.persist(gobierno);
        
        Estados e1=new Estados();
        e1.setNombre("Aguascalientes");
        e1.setIdgobierno(gobierno);
        em.persist(e1);
        
        Estados e2=new Estados();
        e2.setNombre("Baja California");
        e2.setIdgobierno(gobierno);
        em.persist(e2);
        
        Usuarios u2=new Usuarios();
        u2.setIndefinido(TipoDefinido.DEFINIDO);
        u2.setLogin("delegado1");
        u2.setPass("delegado1");
        u2.setTipo(TipoUsuario.DELEGADO);
        em.persist(u2);
        
        Delegados d1=new Delegados();
        d1.setApmaterno("Marquez1");
        d1.setAppaterno("Marquez2");
        d1.setNombre("Raul");
        d1.setPresupuesto(new BigDecimal("10000"));
        d1.setIdusuario(u2);
        d1.setIdestado(e1);
        em.persist(d1);
        
        Usuarios u3=new Usuarios();
        u3.setIndefinido(TipoDefinido.DEFINIDO);
        u3.setLogin("delegado2");
        u3.setPass("delegado2");
        u3.setTipo(TipoUsuario.DELEGADO);
        em.persist(u3);
        
        Delegados d2=new Delegados();
        d2.setApmaterno("Avila1");
        d2.setAppaterno("Avila2");
        d2.setNombre("Raulito");
        d2.setPresupuesto(new BigDecimal("20000"));
        d2.setIdusuario(u3);
        d2.setIdestado(e2);
        em.persist(d2);
    }
    
    public void proceso2(){
        Beneficiarios b=em.find(Beneficiarios.class, new Integer(1));
        Proyectos p1=new Proyectos();
        p1.setIdbeneficiario(b);
        p1.setEstatus(EstatusCandidato.ESPERA);
        p1.setJustificacion("Porque es necesario");
        p1.setNombre("Transporte Ciegos");
        p1.setPresupuesto(new BigDecimal(5000));
        p1.setBeneficiarios(5);
        Proyectos p2=new Proyectos();
        p2.setIdbeneficiario(b);
        p2.setEstatus(EstatusCandidato.ESPERA);
        p2.setJustificacion("Porque no se ha completado");
        p2.setNombre("Ciegos Taxistas");
        p2.setBeneficiarios(5);
        p2.setPresupuesto(new BigDecimal(2000));
        em.persist(p1);
        em.persist(p2);
    }
}
